% Normativa
% Fecha de entrega:	31 de octubre de 2008
% 
% Normas de entrega:	Las contenidas en la página web de la materia.
% 
% Enunciado
%    El objetivo de este trabajo práctico consiste en realizar el diseño completo del juego de Mini Monopoly
% (especificado en el TP anterior), así como de todos aquellos módulos necesarios para la tarea.
%    El diseño debe respetar los siguientes requerimientos de complejidad para las operaciones listadas:
%       - La operación de tirar los dados debe ser realizada en o(j) en el peor caso, donde j es la cantidad de jugadores.
%       - Dada una posición del tablero, debe ser posible conocer su dueño en tiempo constante (o(1) en el peor caso).
%       - Dado un jugador, debe ser posible ver cuánto dinero tiene en tiempo constante (o(1) en el peor caso).
%       - Se desea conocer el ranking de jugadores (ordenados por cantidad de dinero) en tiempo constante (o(1) en el peor caso). Para este caso, la respuesta puede ser devuelta por referencia.
% 
%                                               MiniMonopoly
%    Además de estas operaciones, el módulo debe tener todas las operaciones que se consideren necesarias y razonables para el desarrollo del juego y para poder conocer el estado del mismo.
% 	Los jugadores deben identificarse por un string de a lo sumo 20 caracteres.
% 
% Pautas para la confección del TP
% 	Para la confección de este trabajo práctico, deberá tener en cuenta las siguientes pautas:
% 		El TP debe contener la definición de todos los módulos utilizados, a excepción de los descriptos en el apunte de diseño de la materia.
% 		La interfaz de cada módulo debe contener, para cada operación: pre y postcondición, complejidad temporal e información sobre aliasing.
% 		La complejidad de cada operación deberá ser justificada adecuadamente, en función de su algoritmo y de la complejidad de las operaciones de los módulos utilizados. Esto puede hacerse directamente sobre el
%       pseudocódigo o en un texto separado.
% 		Para cada módulo, deberán consignarse adecuadamente los módulos utilizados y la complejidad requerida para cada una de sus operaciones.
% 		El invariante de representación de las estructuras recursivas (aquellas que involucren punteros) pueden escribirse en castellano.
% 		Para recorrer linealmente los elementos de una estructura deberá utilizar iteradores. Los mismos deberán ser diseñados junto al módulo correspondiente.
% 
% Nota: El viernes 24 de octubre, a más tardar, los grupos deberán estar en condiciones de presentar informalmente a los docentes un esquema completo del diseño que han concebido. No se requieren los detalles, sino una idea general que incluya un diagrama de módulos y la estrategia, a grandes rasgos, que planean aplicar para poder cumplir los requerimientos de eficiencia.
% 
% 
% Signatura	
% pre y post-condiciones
% complejidad
% aliasing
% destrucción de objetos

\documentclass[executivepaper,spanish,10pt]{article}
\usepackage[spanish, activeacute]{babel}
\usepackage[latin1]{inputenc}

%\usepackage{a4wide}
\usepackage{caratula}
\usepackage{tad}
\usepackage{algo2symb}

\usepackage[left=1.5cm,top=1.5cm,right=1cm,nohead,nofoot]{geometry}

%\documentclass[a4paper]{article}
%\usepackage[spanish ,activeacute]{babel}
%\usepackage{tad}
%\usepackage{algo2symb}
\usepackage{newalgo}
%\usepackage{caratula}
%\usepackage{dis}
 \usepackage{fancyhdr}
% \usepackage{lastpage}

\usepackage{setspace}
\usepackage{color}

%\usepackage[latin1]{inputenc}



%---------INTERFAZ-----------------------------
 \newcommand{\f}[1]{\text{#1}}
 \renewcommand{\paratodo}[2]{$\forall~#2$: #1}
 \newcommand{\omitir}[1]{}
 \newcommand{\g}[1]{\texttt{#1}\xspace}
%\newcommand{\indent}{\tab}
 \newcommand{\tab}{\hspace*{1em}}
\newcommand{\sombrero}{\widehat}
\newcommand{\s}{\sombrero}
 \newcommand{\devuelve}{$\rightarrow$ }
% 
 \newcommand{\vacio}{\ensuremath{\textrm{vac�o}}}
 \newcommand{\esvacio}{\ensuremath{\textrm{esVac�o}}}
 \newcommand{\union}{\ensuremath{\textrm{uni�n}}}
 \newcommand{\interseccion}{\ensuremath{\textrm{intersecci�n}}}
 \newcommand{\difsim}{\ensuremath{\textrm{difSim�trica}}}
 \newcommand{\proximo}{\ensuremath{\textrm{pr�ximo}}}
 \newcommand{\tieneProximo}{\ensuremath{\textrm{tienePr�ximo}}}

\newcommand{\orden}[2]{\textbf{La funcion} \ensuremath{#1}
	\textbf{tiene orden} \ensuremath{#2}}
\newcommand{\justorden}[2]{\ensuremath{#1:} #2 }
%----------------------------------
% 
% \textheight=23cm
% \textwidth=18cm
% \topmargin=-1cm
% \oddsidemargin=-1cm
% \pagestyle{fancy}


\begin{document}

\materia{Algoritmos y Estructuras de Datos II}

\titulo{ Dise\~no TAD Mini-Monopoly}
\subtitulo{TP3}
\grupo{Grupo ...}
    \integrante{Pablo Javier Monzon}	{196/04}{pablo@alone-i-break.com.ar}
    \integrante{Nicolas Ariel Orcali}		{139/07}{lordaratur@hotmail.com}
    \integrante{Daniel Jorge Pino}	{556/07}{jdanielpino@gmail.com}
    \integrante{Juan Pablo Sormani}	{604/06}{sorman@gmail.com}

\maketitle

\cfoot{\thepage\ / \pageref{LastPage}}
\rhead{Monzon (196/04) - Orcali (139/07) - Pino (556/07) - Sormani (604/06)}
\lhead{TP2}

\tableofcontents{}

\newpage

\section{Observaciones Generales}
Para este Trabajo Pr\'actico de Dise\~no, organizamos la tarea en diferentes m\'odulos, respetando
la divisi\'on de TADs proveniente de la especificaci\'on.
Dentro de este panorama, elegimos estructuras para los m\'odulos, de manera de cumplir con
los \'ordenes de complejidad temporal requeridos por el enunciado.
Dentro de cada m\'odulo justificamos la elecci\'on de las estructuras.

\include{monopoly}

\include{tablero}

\include{casilla}

\include{dados}

\include{diccionarioT}

\end{document}

